﻿namespace WMS.FC.Domain.PersistenceObject.Business
{
    public class LocationPO : WarehousePOBase
    {
        /// <summary>
        /// 编码
        /// </summary>
        public string Code { get; set; } = string.Empty;

        /// <summary>
        /// 产线编码
        /// </summary>
        public string LineCode { get; set; } = string.Empty;

        /// <summary>
        /// 区域编码
        /// </summary>
        public string ZoneCode { get; set; } = string.Empty;

        /// <summary>
        /// 设备编码
        /// </summary>
        public string EquipmentCode { get; set; } = string.Empty;

        /// <summary>
        /// 类型编码
        /// </summary>
        public string TypeCode { get; set; } = string.Empty;

        /// <summary>
        /// 行
        /// </summary>
        public int Line { get; set; }

        /// <summary>
        /// 列
        /// </summary>
        public int Column { get; set; }

        /// <summary>
        /// 层
        /// </summary>
        public int Layer { get; set; }

        /// <summary>
        /// 深
        /// </summary>
        public int Depth { get; set; }

        /// <summary>
        /// 长
        /// </summary>
        public int Length { get; set; } = 100;

        /// <summary>
        /// 宽
        /// </summary>
        public int Width { get; set; } = 100;

        /// <summary>
        /// 高
        /// </summary>
        public int Height { get; set; } = 100;

        /// <summary>
        /// 状态编码
        /// </summary>
        public string StateCode { get; set; } = string.Empty;

        /// <summary>
        /// 使用状态编码
        /// </summary>
        public string UseStateCode { get; set; } = string.Empty;

        /// <summary>
        /// 供应商编码
        /// </summary>
        public string? SupplierCode { get; set; }

        /// <summary>
        /// 供应商服务编码
        /// </summary>
        public string? SupplierServerCode { get; set; }

        /// <summary>
        /// 供应商设备编码
        /// </summary>
        public string? SupplierEquipmentCode { get; set; }

        /// <summary>
        /// 供应商状态编码
        /// </summary>
        public string? SupplierStateCode { get; set; }

        /// <summary>
        /// 供应商模式编码
        /// </summary>
        public string? SupplierModeCode { get; set; }

        /// <summary>
        /// 温度
        /// </summary>
        public string? Temperature { get; set; }

        /// <summary>
        /// 容器条码
        /// </summary>
        public string? ContainerBarcode { get; set; }

        /// <summary>
        /// 底层托盘条码
        /// </summary>
        public string? TrayBarcode1 { get; set; }

        /// <summary>
        /// 中层托盘条码
        /// </summary>
        public string? TrayBarcode2 { get; set; }

        /// <summary>
        /// 上层托盘条码
        /// </summary>
        public string? TrayBarcode3 { get; set; }

        /// <summary>
        /// 托盘组电池数量
        /// </summary>
        public int? TotalCellCount { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string? MaterialCode { get; set; }

        /// <summary>
        /// 工艺路径编码
        /// </summary>
        public string? TechnologyRouteCode { get; set; }

        /// <summary>
        /// 工艺工序编码
        /// </summary>
        public string? TechnologyProcessCode { get; set; }

        /// <summary>
        /// 出库目标站台
        /// </summary>
        public string? OutboundTargetStation { get; set; }

        /// <summary>
        /// 工艺静置时间
        /// </summary>
        public string? TechnologyAgingTime { get; set; }

        /// <summary>
        /// 实际静置时间
        /// </summary>
        public int? ActualAgingTime { get; set; }

        /// <summary>
        /// 入库时间
        /// </summary>
        public DateTime? InboundTime { get; set; }

        /// <summary>
        /// 出库状态编码
        /// </summary>
        public string? OutStateCode { get; set; }

        /// <summary>
        /// 最后出库时间
        /// </summary>
        public DateTime LastOutboundTime { get; set; } = new DateTime();

        /// <summary>
        /// 消息
        /// </summary>
        public string? Message { get; set; }
    }
}
